Grade Levels: 10-12 Units of Credit: .5 CIP Code: 11.0201 Prerequisites:Algebra I, Keyboarding Proficiency, and Computer Technology (Computer Literary) Skill Certification Exam: #802
COURSE DESCRIPTION
An introductory course in computer programming/software engineering and applications. The course introduces students to the fundamentals of computer programming. Students will learn to design, code, and test their own programs while applying mathematical concepts. It is recommended that teachers introduce programming concepts and problem solving skills to beginning programming students through high interest programs such as Lego robots, Alice, Java Script or KPL followed by an introduction to C++, Visual Basic or Java.
COURSE STANDARDS AND OBJECTIVES
STANDARD 110201-01 Students will be familiar with and use a programming environment.
OBJECTIVES
110201-0101 Demonstrate knowledge of external and internal computer hardware.
Describe the functions of basic computer hardware devices (monitor, system board, printer, CD-ROM drive, hard drive, floppy drive, keyboard, mouse, adapters, ports, other devices).
Describe the functions of the internal components of computers (CPU, RAM, ROM, registers, ALU).
Translate to and from binary code (Computer number systems).
110201-0102 Demonstrate knowledge of software concepts.
Define computer software.
Explain the process of software installation.
110201-0103 Develop the ability to use a current operating system.
Demonstrate how to load, save and back up files.
Demonstrate how to rename and delete files.
Demonstrate how to move, copy and compress files.
Demonstrate how to display and print files.
Demonstrate the ability to manage files on a PC and network.
Create Folders
Create and use appropriate directory and path structures
Copy files between folders
Understand the organization of files on a hard drive and a network
Demonstrate how to execute a program.
110201-0104 Demonstrate the ability to use the editor to enter programs.
Demonstrate how to enter text and commands.
Demonstrate the process of selecting a block of text.
Demonstrate how to move blocks of text.
Demonstrate how to copy/cut/paste text using the keyboard and mouse.
Demonstrate how to delete blocks of text.
110201-0105 Demonstrate the ability to compile, debug and execute programs.
Demonstrate how to use the editor to compile and run programs.
Understand the difference between syntax, run-time, and logic errors.
Demonstrate how to debug programs.
STANDARD 110201-02 Students will employ accepted programming methodology.
OBJECTIVES;
110201-0201 Demonstrate the ability to use good programming style.
Demonstrate how to use white space properly.
Employ the use of case-sensitive commands for clarity.
Construct programs with meaningful identifiers.
110201-0202 Employ the proper steps to programming in order.
Prepare specifications for computer programs.
Design solutions using algorithms such as flow charts, pseudocode, UML, N-S charts.
Develop the code for a program.
Test programs for effectiveness and completeness.
Provide full documentation for a program.
110201-0203 Employ proper program design process.
Use step-wise refinement (top-down design) in programming.
Employ program modularity in writing programs.
Produce logical algorithms to solve problems with a computer program.
110201-0204 Demonstrate the ability to program for automatic error checking (robustness).
Explain how to protect program execution from incorrect input.
Describe how to protect program execution from run-time errors.
Employ verification to protect program results from logic errors.
STANDARD 110201-03 Students will properly use language-fundamental commands and operations.
OBJECTIVES:
110201-0301 Demonstrate the ability to use basic elements of a specific language.
Write a program in a programming language(C++, Java, Visual Basic).
Declare and assign values to constants and variables in programs.
Output text with formatting.
Demonstrate the ability to use input/output commands in programs.
Input values into identifiers.
Output values stored in identifiers.
110201-0302 Employ arithmetic expression in programs.
Arithmetic operators.
Modulus division.
Integer division.
Order of operators.
110201-0303 Demonstrate the ability to use atomic data types in programs.
Declare and use integer identifiers.
Declare and use character identifiers.
Declare and use floating point (real) identifiers.
Declare and use Boolean identifiers.
Declare and use constants.
110201-0304 Demonstrate the ability to use strings in programs.
Declare string identifier.
Input string identifiers.
Output string identifiers.
STANDARD 110201-04 Students will properly employ control structures.
OBJECTIVES:
110201-0401 Demonstrate the ability to use relational and logical operators in programs.
Compare values using relational operators.
Form compound (and/or/not) expressions using logical operators.
110201-0402 Demonstrate the ability to use decisions in programs.
Employ simple IF structures.
Use IF-ELSE structures.
Write programs with nested IF-ELSE structures.
Make multiple-way selections (switch case, Select Case).
110201-0403 Demonstrate the ability to use loops in programs.
Use initial, terminal, and incremental values in loops.
Construct both pre-test and post-test loops.
Demonstrate how to use counted loops.
Describe the use of flagged (sentinel-controlled) loops.
Utilize nested loops.
Explain how to avoid infinite loops.
Accumulate running totals using loops.
110201-0404 Demonstrate the ability to use sub-programs in programs.
Demonstrate how to use language-predefined sub-programs.
Utilize value, constant, and reference parameters.
Understand the scope of identifiers in sub-programs.
STANDARD 110201-05 Students will demonstrate knowledge of current ethical issues dealing with computers and information in society.
OBJECTIVES;
110201-0501 Demonstrate knowledge of programmer ethics.
Show knowledge of the importance of correct programming.
Check for program correctness using verification.
Know proper and improper standards in programming.
110201-0502 Demonstrate knowledge of the social and ethical consequences of computers.
Describe how computer-controlled automation affects workers and management.
Explain the ramifications of society's dependance on computers.
Identify advantages and disadvantages of changing workplace environments.
110201-0503 Demonstrate knowledge of the right to privacy.
Explain how computers can compromise privacy.
Exhibit knowledge of privacy laws.
Describe responsibilities of people who control computer information.
110201-0504 Demonstrate knowledge of computer, information and software security.
Exhibit knowledge of copyright laws.
Explain how computers are being used to compromise copyright laws.
Give examples of ways to protect information on computer systems.
Identify ways to protect against computer viruses.
STANDARD 110201-06 Students will develop an awareness of career opportunities in the Computer Programming/Software Engineering industry and of its history.
OBJECTIVES
110201-0601 Develop career awareness related to working in the Computer Programming/Software Engineering industry.
Identify personal interests and abilities related to Computer Programming/Software Engineering careers
Identify Computer Science career fields (Software Engineer, System Analyst, Applications Programmer)
Investigate career opportunities, trends, and requirements related to Computer Programming/Software Engineering careers
Identify factors for employability and advancement in Computer Programming/Software Engineering careers
Discuss relevant history of computer technology and the Computer Programming/Software Engineering industry.
Computer Programming IA
Grade Levels: 10-12
Units of Credit: .5
CIP Code: 11.0201
Prerequisites: Algebra I, Keyboarding Proficiency, and Computer Technology (Computer Literary)
Skill Certification Exam: #802
COURSE DESCRIPTION
An introductory course in computer programming/software engineering and applications. The course introduces students to the fundamentals of computer programming. Students will learn to design, code, and test their own programs while applying mathematical concepts. It is recommended that teachers introduce programming concepts and problem solving skills to beginning programming students through high interest programs such as Lego robots, Alice, Java Script or KPL followed by an introduction to C++, Visual Basic or Java.
COURSE STANDARDS AND OBJECTIVES
STANDARD
110201-01 Students will be familiar with and use a programming environment.
OBJECTIVES
110201-0101 Demonstrate knowledge of external and internal computer hardware.
110201-0102 Demonstrate knowledge of software concepts.
110201-0103 Develop the ability to use a current operating system.
110201-0104 Demonstrate the ability to use the editor to enter programs.
110201-0105 Demonstrate the ability to compile, debug and execute programs.
STANDARD
110201-02 Students will employ accepted programming methodology.
OBJECTIVES;
110201-0201 Demonstrate the ability to use good programming style.
110201-0202 Employ the proper steps to programming in order.
110201-0203 Employ proper program design process.
110201-0204 Demonstrate the ability to program for automatic error checking (robustness).
STANDARD
110201-03 Students will properly use language-fundamental commands and operations.
OBJECTIVES:
110201-0301 Demonstrate the ability to use basic elements of a specific language.
110201-0302 Employ arithmetic expression in programs.
110201-0303 Demonstrate the ability to use atomic data types in programs.
110201-0304 Demonstrate the ability to use strings in programs.
STANDARD
110201-04 Students will properly employ control structures.
OBJECTIVES:
110201-0401 Demonstrate the ability to use relational and logical operators in programs.
110201-0402 Demonstrate the ability to use decisions in programs.
110201-0403 Demonstrate the ability to use loops in programs.
110201-0404 Demonstrate the ability to use sub-programs in programs.
STANDARD
110201-05 Students will demonstrate knowledge of current ethical issues dealing with computers and information in society.
OBJECTIVES;
110201-0501 Demonstrate knowledge of programmer ethics.
110201-0502 Demonstrate knowledge of the social and ethical consequences of computers.
110201-0503 Demonstrate knowledge of the right to privacy.
110201-0504 Demonstrate knowledge of computer, information and software security.
STANDARD
110201-06 Students will develop an awareness of career opportunities in the Computer Programming/Software Engineering industry and of its history.
OBJECTIVES
110201-0601 Develop career awareness related to working in the Computer Programming/Software Engineering industry.